#include <iostream>
#include <string>
#include <fstream>
#include "bundle.h"

using namespace std;

int main (int argc ,char* argv[])
{

    if (argc < 3) {
        cerr << "Usage: " << argv[0] << " <input_file> <output_file>" << endl;
        return 1;
    }

    
    string ifilename = argv[1];
    string ofilename = argv[2];

    ifstream ifs;
    ifs.open(ifilename,std::ios::binary);
    ifs.seekg(0,ios::end);
    size_t fsize = ifs.tellg();
    ifs.seekg(0,ios::beg);
    string body;

    body.resize(fsize);
    
    ifs.read(&body[0],fsize);
    
    string packed = bundle::pack(bundle::LZIP,body);

    std::ofstream ofs;
    ofs.open(ofilename,std::ios::binary);
    ofs.write(&packed[0],packed.size());

    ifs.close();
    ofs.close();

    return 0;
}